home *** CD-ROM | disk | FTP | other *** search
/ Gigarom 4 / Mac Giga-ROM 4.0 - 1993.toast / FILES / EXT / P-T / PwrSwter1.0a4.cpt / PwrSwitcher 1.0a4 ƒ / About PwrSwitcher next >
Text File  |  1991-09-02  |  8KB  |  105 lines

  1. About PwrSwitcher
  2.  
  3. Version 1.0a4, September 3, 1991
  4. © 1991 David B. Lamkins
  5. All rights reserved
  6.  
  7.  
  8. Copying and Use
  9.  
  10. PwrSwitcher may be freely distributed so long as it includes this documentation. PwrSwitcher may not be sold. The user must assume all risk of loss resulting from use of PwrSwitcher.
  11.  
  12.  
  13. Requirements
  14.  
  15. PwrSwitcher must be run under System 7 on a Macintosh with a keyboard which has a power key.
  16.  
  17. PwrSwitcher will not load under System 7.1 or later. I did this because PwrSwitcher (as of version 1.0a4) uses an undocumented interface to the layer data structures so it can find out whether a process is visible. Apple employees (who did NOT provide any clues on how to find or use these data structures) told me that these data structures WILL change in a future release of System 7, and I’d rather your system doesn’t wander off into the weeds because PwrSwitcher is poking around where it really shouldn’t. I have made an assumption that the change probably won’t happen in a point release (e.g.: 7.0.x) — for all I know it may not even change in 7.1 — I hope I guessed right…
  18.  
  19.  
  20. Description
  21.  
  22. PwrSwitcher is a system extension that lets you cycle through the active programs by pressing the power key on your ADB keyboard. This release of PwrSwitcher requires System 7, and a keyboard with a power key.
  23.  
  24. With the shift key down, PwrSwitcher cycles through active programs in reverse order.
  25.  
  26. PwrSwitcher can “mark” a process and toggle back and forth between the marked process and some other process. The front process is marked by holding down the shift and option keys, then pressing the power key. At some later time, you can jump from any other process (we’ll call this the alternate process) directly back to the marked process by holding down the option key and pressing the power key. Repeatedly pressing option-power toggles back and forth between the marked process and the alternate process. If either the marked process or the alternate process ceases to exist, you’ll no longer toggle between processes using option–power.
  27.  
  28. The control key may be held down while invoking PwrSwitcher — it has no effect on operation. Perhaps this will help RadiusWare users avoid triggering PwrSwitcher and Cursor Beacon at the same time. The control key may also be necessary to avoid triggering the occasionally–documented option-power keystroke of Paul Mercer’s Programmer’s Key.
  29.  
  30.  
  31. Similar Programs
  32.  
  33. PwrSwitcher is most similar to Switch by W. J. Bock. Unfortunately, the only version of Switch that I've ever seen chokes when File Sharing (or any other background–only application) is active. [Incidentally, AppSwitcher and JustClick also have the same problem, at least for the moment.]
  34.  
  35.  
  36. Installation
  37.  
  38. Drag the PwrSwitcher icon to your System Folder, and allow the Finder to place it in the Extensions folder. PwrSwitcher will be installed the next time you restart your machine. To remove PwrSwitcher, move it somewhere else (not inside the System Folder) and restart your machine. You can prevent PwrSwitcher from installing itself by pressing the mouse button just before its icon appears. (I’ve always thought that this approach is bogus, but it’s a “standard”…)
  39.  
  40.  
  41. Compatibility
  42.  
  43. For now, PwrSwitcher only works under System 7, and with keyboards that have a power key. I may remove these restrictions in a future release.
  44.  
  45. When and if you install System 7.1 (or later), PwrSwitcher (v1.0a4 and later) will not install itself, and will show a “dimmed” version of its icon during startup. This is a safety feature, as described earlier.
  46.  
  47. If you use PwrSwitcher under System 6 or earlier, it will not install itself, and will show a “dimmed” version of its icon during startup.
  48.  
  49. If you use PwrSwitcher under System 7 on a keyboard without a power key, it will install normally, but you won’t be able to access its functionality.
  50.  
  51. RadiusWare users have found that PwrSwitcher and Cursor Beacon both respond to the power key. As of v1.0a2, I’ve changed PwrSwitcher so you can also trigger it with the control key down. I hope this will keep Cursor Beacon from doing its thing at the same time.
  52.  
  53. PwrSwitcher coexists quite nicely with Paul Mercer’s Programmer’s Key, which also uses the power key. I’ve tried to make the PwrSwitcher keystrokes different from Programmer’s Key; however, you may need to use control–option–power to toggle between the marked and alternate processes if you use PwrSwitcher with some versions of Programmer’s Key.
  54.  
  55.  
  56. Possible Problems
  57.  
  58. I have had reports that PwrSwitcher may cause some applications to switch out of the the foreground immediately after launch. This has been reported for FontMonger and Excel 3.0.
  59.  
  60. I have also been informed that PwrSwitcher causes a LaserJet printer to refuse to print.
  61.  
  62. The above reports are preliminary, and haven’t been followed up by isolation checks. I don’t have the affected products. If anyone can reproduce these problems and provide additional information, I’ll do my best to fix the problems.
  63.  
  64.  
  65. Feedback
  66.  
  67. I would appreciate comments and suggestions regarding PwrSwitcher. I can be reached at the following address:
  68.  
  69.    AOL: DBLamkins
  70.  
  71. Please note that my Internet account (lamkins@cs.umb.edu) was closed during the last week of August. If you sent me mail via Internet after August 22, I missed it and have no way to retreive it.
  72.  
  73.  
  74. Caution
  75.  
  76. I have not yet registered PwrSwitcher’s creator type, 'PWRS'. You may find that this creator conflicts with an existing application on your disk. If this happens, PwrSwitcher may take on the other application’s icon, or the other application may take on PwrSwitcher’s icon.
  77.  
  78. If this PwrSwitcher’s creator conflicts with another application, you should remove all copies of PwrSwitcher from your disk and rebuild the desktop by inserting the disk (or restarting from the disk, if it’s your startup volume) with the Command and Option keys held down until you get the dialog asking for permission to rebuild the desktop. I would also appreciate a note informing me of the conflict.
  79.  
  80.  
  81. Future Plans
  82.  
  83.    » Short term:
  84.    • Provide an alternate activation key for other keyboards.
  85.    » Long term:
  86.    • Include a color icon for both the Finder and the INIT (Thanks to everyone who contributed icons! This part of the project is waiting for me to update code, not create graphics…).
  87.    • Find a supported interface to get layer visibility info.
  88.    • Provide configuration via a control panel.
  89.    • Provide optional audible feedback.
  90.    • Support operation under System 6 Multifinder.
  91.  
  92.  
  93. Release History
  94.    1.0a1    Aug 3, 1991:    First release.
  95.    1.0a2    Aug 7, 1991:    Ignore Control key so RadiusWare users can cycle without triggering Cursor Beacon. Cycle backwards through processes when Shift key is down.
  96.    1.0a3    Aug 22, 1991: Add mark/toggle functionality, and a finder balloon for the icon.
  97.    1.0a4    Sep 3, 1991:    Skip over “hidden” layers (using an undocumented interface to the OS). This means that, finally, hidden layers will stay hidden! Inhibit loading of PwrSwitcher for System 7.1 or later, because the undocumented interface will probably change.
  98.  
  99.  
  100. Implementation
  101.  
  102. PwrSwitcher patches the _KeyTrans trap, looking for a keydown on the power key. When this happens, PwrSwitcher calls the Process Manager to get the next process following the front process, and brings that process to the front. Background–only processes are skipped.
  103.  
  104. PwrSwitcher was written entirely in THINK Pascal, using an INIT shell of my own design. The INIT shell allows you to install patches and VBL tasks in a straightforward way without resorting to inline code. The shell also provides a Quickdraw world so the shell can display the init icon, and so the init can (if absolutely necessary, although INITs aren’t supposed to do this) display windows or dialogs. The shell provides a mechanism for the INIT to easily undo everything and bail out if an error occurs partway into the installation.
  105.